package com.ruoyi.returnMaterials_detail.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 退料对象 erp_production_return_material_detail
 * 
 * @author ruoyi
 * @date 2025-07-30
 */
public class ErpProductionReturnMaterialDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 主表ID */
    private Long returnId;

    /** 物料编码 */
    @Excel(name = "物料编码")
    private String materialCode;

    /** 物料名称 */
    @Excel(name = "物料名称")
    private String materialName;

    /** 物料规格 */
    @Excel(name = "物料规格")
    private String materialSpec;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 批号 */
    @Excel(name = "批号")
    private String batchNo;

    /** 仓库 */
    @Excel(name = "仓库")
    private String warehouse;

    /** 库位 */
    @Excel(name = "库位")
    private String location;

    /** 实退数量 */
    @Excel(name = "实退数量")
    private BigDecimal actualReturnQty;

    /** 退补数量（可正可负） */
    @Excel(name = "退补数量", readConverterExp = "可=正可负")
    private BigDecimal adjustQty;

    /** 来源单据 */
    @Excel(name = "来源单据")
    private String sourceDocument;

    /** 来源订单 */
    @Excel(name = "来源订单")
    private String sourceOrder;

    /** 创建时间 */
    private Date createdAt;

    /** 更新时间 */
    private Date updatedAt;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setReturnId(Long returnId) 
    {
        this.returnId = returnId;
    }

    public Long getReturnId() 
    {
        return returnId;
    }

    public void setMaterialCode(String materialCode) 
    {
        this.materialCode = materialCode;
    }

    public String getMaterialCode() 
    {
        return materialCode;
    }

    public void setMaterialName(String materialName) 
    {
        this.materialName = materialName;
    }

    public String getMaterialName() 
    {
        return materialName;
    }

    public void setMaterialSpec(String materialSpec) 
    {
        this.materialSpec = materialSpec;
    }

    public String getMaterialSpec() 
    {
        return materialSpec;
    }

    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }

    public void setBatchNo(String batchNo) 
    {
        this.batchNo = batchNo;
    }

    public String getBatchNo() 
    {
        return batchNo;
    }

    public void setWarehouse(String warehouse) 
    {
        this.warehouse = warehouse;
    }

    public String getWarehouse() 
    {
        return warehouse;
    }

    public void setLocation(String location) 
    {
        this.location = location;
    }

    public String getLocation() 
    {
        return location;
    }

    public void setActualReturnQty(BigDecimal actualReturnQty) 
    {
        this.actualReturnQty = actualReturnQty;
    }

    public BigDecimal getActualReturnQty() 
    {
        return actualReturnQty;
    }

    public void setAdjustQty(BigDecimal adjustQty) 
    {
        this.adjustQty = adjustQty;
    }

    public BigDecimal getAdjustQty() 
    {
        return adjustQty;
    }

    public void setSourceDocument(String sourceDocument) 
    {
        this.sourceDocument = sourceDocument;
    }

    public String getSourceDocument() 
    {
        return sourceDocument;
    }

    public void setSourceOrder(String sourceOrder) 
    {
        this.sourceOrder = sourceOrder;
    }

    public String getSourceOrder() 
    {
        return sourceOrder;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("returnId", getReturnId())
            .append("materialCode", getMaterialCode())
            .append("materialName", getMaterialName())
            .append("materialSpec", getMaterialSpec())
            .append("unit", getUnit())
            .append("batchNo", getBatchNo())
            .append("warehouse", getWarehouse())
            .append("location", getLocation())
            .append("actualReturnQty", getActualReturnQty())
            .append("adjustQty", getAdjustQty())
            .append("sourceDocument", getSourceDocument())
            .append("sourceOrder", getSourceOrder())
            .append("remark", getRemark())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
